package controllers;

import java.util.GregorianCalendar;

import entities.IGarage;
import entities.IMaster;
import entities.IOrder;


public interface IAutoservice {

	public void getEmptyGarage();

	public void SortOrderByBeginningDate();

	public void SortOrderByDeadlineDate();

	public void SortOrderByFillingDate();

	public void SortOrderByPrice();

	public void SortMasterByEmployment();

	public void SortMasterByName();

	public void SortMadingOrderByBeginningDate();

	public void SortMadingOrderByDeadlineDate();

	public void SortMadingOrderByFillinggDate();

	public void SortMadingOrderByPrice();

	public void getOrderByMaster(String masterName);

	public void getMasterByOrder(Integer numberOrder);

	public void SortDeletedOrderByPeriodByBeginningDate(
			GregorianCalendar begin, GregorianCalendar end);

	public void SortCanceledOrderByPeriodByBeginningDate(
			GregorianCalendar begin, GregorianCalendar end);

	public void SortMadeOrderByPeriodByBeginningDate(GregorianCalendar begin,
			GregorianCalendar end);

	public void SortDeletedOrderByPeriodByDeadlineDate(GregorianCalendar begin,
			GregorianCalendar end);

	public void SortCanceledOrderByPeriodByDeadlineDate(
			GregorianCalendar begin, GregorianCalendar end);

	public void SortMadeOrderByPeriodByDeadlineDate(GregorianCalendar begin,
			GregorianCalendar end);

	public void SortDeletedOrderByPeriodByFillingDate(GregorianCalendar begin,
			GregorianCalendar end);

	public void SortCanceledOrderByPeriodByFillingDate(GregorianCalendar begin,
			GregorianCalendar end);

	public void SortMadeOrderByPeriodByFillingDate(GregorianCalendar begin,
			GregorianCalendar end);

	public void SortDeletedOrderByPeriodByPrice(GregorianCalendar begin,
			GregorianCalendar end);

	public void SortCanceledOrderByPeriodByPrice(GregorianCalendar begin,
			GregorianCalendar end);

	public void SortMadeOrderByPeriodByPrice(GregorianCalendar begin,
			GregorianCalendar end);

	public void getFreePlacesOnDate(GregorianCalendar date);

	public void getNextFreeDate();

	public void addMaster(IMaster master);

	public void deleteMaster(String masterName);

	public void addGarage(IGarage garage);

	public void deleteGarage(Integer numberGarage);

	public void addOrder(IOrder order, String masterName, Integer numberGarage);

	public void markOrderDeleted(Integer numberOrder);

	public void markOrderCanceled(Integer numberOrder);

	public void markOrderMade(Integer numberOrder);

	public void ShirtTimeOrder(GregorianCalendar newDate, Integer numberOrder);

	public void resaveData();
}
